#include <cstdio>
#include <algorithm>
#include <cctype>
#include <vector>
#include <string>
#include <cstring>

#ifdef ONLINE_JUDGE
#   define DEBUG(X...)  do {} while(0)
#else
#   define DEBUG(X...)  do { X ; } while(0)
#endif

struct semver
{
	std::string major;
	std::string minor;
	std::string patch;
	std::vector<std::string> pre;

	static bool from_stdin(semver & sv)
	{
		char vers[3][32];
		if (scanf(" %[0-9].%[0-9].%[0-9]", vers[0], vers[1], vers[2]) == EOF)
			return false;
		sv.major = vers[0];
		sv.minor = vers[1];
		sv.patch = vers[2];

		sv.pre.clear();
		char pre[32];
		if (scanf("-%[.a-zA-Z0-9-]", pre) > 0) {
			auto token = std::strtok(pre, ".");
			while (token) {
				sv.pre.emplace_back(token);
				token = std::strtok({}, ".");
			}
		}

		return true;
	}

	void print()
	{
		printf("[%s][%s][%s]", major.data(), minor.data(), patch.data());
		for (auto & x: pre) printf(" :: %s", x.data());
		printf("\n");
	}
};

bool semver_number(std::string const& s)
{
	if (!std::all_of(s.begin(), s.end(), [](char x) { return std::isdigit(x); }))
		return false;
	if (s[0] == '0' && s.size() > 1) return false;
	return true;
}

bool semver_cmp(std::string const& a, std::string const& b)
{
	if (a.size() != b.size()) return (a.size() < b.size());
	for (auto ia=a.begin(), ib=b.begin(); ia<a.end(); ++ia, ++ib)
		if (*ia != *ib) return (*ia < *ib);
	return false;
}

bool operator < (semver const& a, semver const& b)
{
	if (a.major != b.major) return semver_cmp(a.major, b.major);
	if (a.minor != b.minor) return semver_cmp(a.minor, b.minor);
	if (a.patch != b.patch) return semver_cmp(a.patch, b.patch);

	if (!a.pre.size() && !b.pre.size()) return false;
	if (!b.pre.size()) return true;
	if (!a.pre.size()) return false;

	auto n = std::min(a.pre.size(), b.pre.size());
	for (auto i=0u; i<n; i++) {
		auto & pa = a.pre[i];
		auto & pb = b.pre[i];
		auto npa = semver_number(pa);
		auto npb = semver_number(pb);
		if (npa && npb) {
			if (pa != pb) return semver_cmp(pa, pb);
		}
		else if (!npa && !npb) {
			if (pa != pb) return pa < pb;
		}
		else return npa;
	}
	return (a.pre.size() < b.pre.size());
}

int main()
{
	semver a, b;
	while (semver::from_stdin(a) && semver::from_stdin(b)) {
		DEBUG(a.print());
		DEBUG(b.print());
		std::printf("%s\n", (a < b
					? "Wow! Such feature! Very smart! I'm excited!"
					: "I'm angry!"));
	}
}

